介紹:
定義 Odoo 使用者介面,全部採用 XML 來定義,如需修改或加上屬性可以透過 Xpath 尋找原 Model 的參數位置修改,唯一注意當寫好一份 XML 要記得加入 __manifest__.py
裡面,否則 Odoo 會搜尋不到。
```
'data': [
.
.
.
'views/library_book.xml'
],
```
view 有哪些種類呢:
View主要有四種寫法,分別是
1. List(列表): 列表就像是一個垂直的清單,顯示一系列相關的項目,每個項目都有一個標籤。這是一個常見的方式,像是在網頁上列出一些文字或圖片。
2. Form(表單): 表單是用來收集使用者資訊的地方,像是在網站上的登錄頁面。它包含各種輸入欄位,讓使用者填寫資料,然後提交。
3. Kanban(看板): 看板是用來管理工作流程的方式。它使用卡片表示不同的任務或工作,這些卡片按照進度排列,從待處理到進行中再到已完成。"內部template以qweb撰寫"意味著在看板卡片中的內容是根據特定的模板動態生成的。
4. Tree (樹狀結構) : 列表比較簡單,通常只會單純的在欄位做顯示
List View(列表視圖)範例:
<record model="ir.ui.view" id="list_view_example">
<field name="name">List View Example</field>
<field name="model">your.model.name</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="description"/>
</tree>
</field>
</record>
Form View(表單視圖)範例:
<record model="ir.ui.view" id="form_view_example">
<field name="name">Form View Example</field>
<field name="model">your.model.name</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name"/>
<field name="email"/>
<field name="phone"/>
</group>
</sheet>
</form>
</field>
</record>
Kanban View(看板視圖)範例:
<record model="ir.ui.view" id="kanban_view_example">
<field name="name">Kanban View Example</field>
<field name="model">your.model.name</field>
<field name="arch" type="xml">
<kanban>
<templates>
<t t-name="kanban_box">
<div class="oe_kanban_card">
<div class="oe_kanban_card_inner">
<div class="oe_kanban_card_header">
<field name="name"/>
</div>
<div class="oe_kanban_card_content">
<!-- Your dynamic content here -->
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
Tree View (樹狀結構))範例:
<record model="ir.ui.view" id="tree_view_example">
<field name="name">Tree View Example</field>
<field name="model">your.model.name</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="parent_id" invisible="1"/>
</tree>
</field>
</record>
今天就先介紹view的一些基本寫法,明天再繼續補充其他view的功能給大家